1. Field of the Invention
The present invention relates generally to a decoding apparatus and method in a communication system using Low Density Parity Check (LDPC) codes, and in particular, to a decoding apparatus and method in a communication system using Repeat Accumulate (RA) Type-LDPC (RT-LDPC) codes.
2. Description of the Related Art
The next generation mobile communication system has evolved into a packet service communication system, which is a system for transmitting burst packet data to a plurality of mobile stations (MSs), has been designed to be suitable for transmission of bulk data. In particular, various schemes such as a Hybrid Automatic Repeat reQuest (HARQ) scheme and Adaptive Modulation and Coding (AMC) scheme have been proposed to increase the data throughput. Because HARQ and AMC schemes support variable coding rate, there is a need to support various coding rates. Also, there are various schemes proposed for supporting the variable coding rate, i.e. for supporting various coding rates using one mother codeword. The proposed typical schemes include the shortening and puncturing schemes. The mother codeword is composed of an information word, i.e. an information part corresponding to information bits, and parity, i.e. a parity part corresponding to parity bits.
The shortening scheme, a scheme for decreasing a coding rate by shortening only the information word from the mother codeword, i.e. by shortening only the information bits in the information part, is useful for obtaining various coding rates for various codeword lengths. The puncturing scheme increases a coding rate by transmitting only a part of the parity in the mother codeword, instead of transmitting all parity bits in the parity part. Generally, the shortening scheme and the puncturing scheme are used to support variable coding rate for the case where various codes, for example, convolutional code, turbo code and an LDPC code, are used.
The puncturing scheme will now be described in detail herein below.
When the puncturing scheme is used, a transmitter selects only some of the whole parity bits from the mother codeword according to a corresponding coding rate and transmits the selected parity bits to a receiver together with information bits. Even though the transmitter actually transmitted only some of the parity bits using the puncturing scheme, the receiver performs decoding, considering that ‘0’ values were received at the position corresponding to the parity bits punctured in the receiver. That is, the receiver inserts ‘0’s in the position corresponding to the punctured parity bits before performing the decoding.
As described above, the puncturing scheme is generally used for the LDPC code. A description will now be made of a comparison between a puncturing codeword and an LDPC codeword having the same coding rate as the punctured LDPC codeword. For convenience, the LDPC codeword to which the puncturing scheme is not applied will be referred herein as a ‘general LDPC codeword’, and applying the puncturing scheme to the general LDPC codeword generates the punctured LDPC codeword.
First, the punctured LDPC codeword, compared with the general LDPC codeword having the same coding rate, has a larger number of variable nodes and check nodes in a Tanner graph, so it needs more calculations for decoding.
Second, decoding on the punctured LDPC codeword, compared with decoding on the general LDPC codeword, decreases in its decoding convergence speed due to the punctured nodes. The reason is as follows.
When the punctured LDPC codeword is decoded, ‘0’s are inserted as initial values of the punctured parity nodes corresponding to the punctured parity bits, so a message delivered from a check node connected to each of the punctured parity nodes to the variable node always transmits a ‘0’ value until the values of the punctured parity nodes are updated. That is, an update speed of the message delivered from the check node connected to the punctured parity node to the variable node decreases, thereby reducing the entire decoding convergence speed. During decoding, an increase in the number of iterations improves performance of the punctured LDPC codeword. If the number of iterations is infinitely large, the decoding convergence speed never affects the performance of the punctured LDPC codeword. However, in the general communication system, because the number of iterations is limited, a decrease in the decoding convergence speed of the punctured LDPC codeword causes degradation of the performance.
In order to use the punctured LDPC codeword in the general communication system, it is necessary to solve the problem of increased calculations and decreasing decoding convergence speed during decoding of the punctured LDPC codeword. Therefore, there is a need for a decoding scheme of a punctured LDPC codeword, capable of reducing the decoding calculations and the decoding convergence speed.